package com.tedu.api.thread;

/**
 * 线程：单线程【main主线程】、多线程、创建两个线程以上同时处理一件事情【并发】
 *      多线程并发
 * 多人聊天室  Version2    多个人在同一个服务器聊天
 *
 * 多线程案例：
 *     Kitchen  厨房类---   两个厨子==两个线程---步骤
 *     Chef     厨子类---每个厨子使用厨房炒不同的菜【并发】
 */
public class Kitchen {
}
//1.创建厨子类：每个厨子炒不同菜--线程：Runnable接口【项目：建议结构合理】
class Chef implements Runnable{
    private String dishName;//私有属性
    //2.传入构造器：通过构造器确定，哪位厨子炒什么菜--并发确定哪位厨子
    public Chef(String dn){
        //私有菜系
        this.dishName=dn;
    }
    //3.实现厨子功能：1到3秒随机炒出一道菜
    public void run() {
        System.out.println("开始准备"+dishName);
        //准备时间：1~3秒---Random随机数类-->Math数学类，随机数random()
        /**
         * Math.random():生成随机数，范围：0.0~1.0之间浮点数【不包括1.0】
         * Math.random()*3000,生成随机数：范围：0.0~3000.0之间浮点数【不包括3000.0】
         *     转换成：0~2999的整数         012
         */
        try {
            Thread.sleep((long) (Math.random()*3000)+1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("准备完毕，请开吃");//菜--线程：Runnable}
    }
}